home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 201-220 / scopedisk202 / bbbbs2 / information / bbbbs.doc < prev    next >
Text File  |  1995-03-19  |  19KB  |  461 lines

  1.                               2 Mar 1991
  2.  
  3.     BBBBS - Baud Bandit Bulletin Board System for the Amiga - BBBBS
  4.  
  5. *****************************  Features  *****************************
  6.  
  7. Up to 99 file libraries with extended filenotes.
  8. Up to 99 fully threaded message conferences.
  9. Number of users, files, messages, etc. are only limited by storage space.
  10. Controlled file library and message conference access for users & sysops.
  11. Complete Email area including binary mail, and multiple forwarding.
  12. User statistics including messages written, files ul/dled, time, etc.
  13. RexxDoors sub-area, Grin_du_Jour, Your_Fortune, One_Armed_Bandit
  14. Searches: Search users, file descriptions, or messages.
  15. Online Text Editor: with Cut and Paste, Replace, and Spellchecking.
  16. Separate multi-tasking module for local sysop logon.
  17.  
  18.  
  19.  
  20. *****************************  Contents  ****************************
  21.  
  22. 1. Copyright and Distribution Information
  23.  
  24. 2. Requirements
  25.  
  26. 3. Organization
  27.  
  28. 4. Setting Up
  29.  
  30. 5. User data
  31.  
  32. 6. bbsSYSOP.rexx
  33.  
  34. 7. Macros
  35.  
  36. 8. rexxDoors
  37.  
  38. 9. Additional Notes
  39.  
  40.  
  41.  
  42. ********************  Copyrights and Distribution  ********************
  43.  
  44. The ARexx modules used in BBBBS are copyright 1990 Richard Lee Stockton,
  45. and ALL RIGHTS ARE RESERVED. In particular, commercial use of these
  46. programs requires a written agreement with the author. HOWEVER, these
  47. files may be freely distributed and used for non-commercial purposes
  48. AS LONG AS the copyright notices contained within the code remain intact.
  49.  
  50. To contact me for distribution or just more information:
  51.  
  52.                 Richard Lee Stockton
  53.                 21305 60th Ave West
  54.                 Mountlake Terrace, WA 98043-2009
  55.                 
  56.                 Phones:
  57.                 voice = 206-776-1253
  58.                 FAX   = 206-775-7573
  59.                 BBS   = 206-744-1254
  60.                 
  61.                 Telecomm:
  62.                 send Email to RLStockton on PLINK or BIX or GENIE
  63.  
  64.  
  65.  
  66. ******************   Requirements for operation   ************************
  67.  
  68. BBBBS Requirements:    Assumes standard 1.3 or 2.0 Amiga OS
  69.  
  70. BBBBS.baud requires ~2 MEGS of RAM to run. 1.5 MEG without spellchecking.
  71.  
  72. Commercial:
  73.   BaudBandit  1.50 ~$35
  74.   ARexx       1.15 ~$35
  75.  
  76. Freely Distributable
  77.   BBBBS.LZH
  78.     rexx  (must be in your rexx: drawer)
  79.       Answer.baud
  80.       BBBBS.baud
  81.       bbsSYSOP.rexx
  82.       bbsUsage.baud
  83.       BumpLevel.baud
  84.       Setup.rexx
  85.       ShowLog.baud
  86.       ToggleYell.baud
  87.  
  88.   libraries (must be in your system Libs: drawer)
  89.     arp.library           (on bbs everywhere)
  90.     rexxarplib.library    (by Willy Langeveld. on bbs everywhere)
  91.     screenshare.library   (comes with rexxarplib)
  92.     rexxmathlib.library   (comes with ARexx)
  93.     rexxsupport.library   (comes with ARexx)
  94.     rexxsyslib.library    (comes with ARexx)
  95.  
  96.   commands (must be in your system C: drawer
  97.       QuickSort           (by Marvin Weinstein - ARexxQSort.lzh)
  98.     lharc                 (freely distributable de-archivers...)
  99.     arc
  100.     zoo
  101.     unzip
  102.  
  103.  
  104.  
  105. **************************  Organization  **********************************
  106.  
  107. BBS:
  108.  
  109.   BBBBS looks in your s: directory for the file "CONFIG.BBS" which sets all
  110.    preferences including the device where the BBS files are located.
  111.   Within this device, the BBS may use 99 file & 99 message directories.
  112.   Users may be given access levels between 0 (new user) and 99 (super-sysop).
  113.   The lowest sysop level (gets to edit filenotes, maybe edit messages
  114.    depending on level) defaults to 80. Level 99 (and only level 99!) is
  115.    allowed to open a remote Shell and the power to edit ANY file remotely.
  116.   Uload/Dload access to libraries & conferences at or below the user's level.
  117.   Also, a sysop may exclude certain directories from the user's use.
  118.     (file libraries by name, or message conferences by number) 
  119.  
  120.  
  121. BBS System File Directories:
  122.  
  123. Dir 81    = 'Information'  = User viewable files. 'I' from the Main Menu.
  124.  
  125. Dir 82-85 =                = <future>
  126.  
  127. Dir 86    = 'Scratch'      = temporary editor files, etc. For debugging.
  128.  
  129. Dir 87    = 'BBS_HELP'     = Command summary files, according to level.
  130.  
  131. Dir 88    = 'rexxDoors'    = rexx doorway programs
  132.                      Moon.rexx              = the phase of the moon
  133.                      Time.rexx              = the time in words
  134.                      Fortune.rexx           = 'one-liner' fortune
  135.                      One_Armed_Bandit.rexx  = Las Vegas Gambling
  136.                      Grin_du_Jour.rexx      = 'one-liner' humor
  137.                      rexxDoors/Data/Fortune = data for 'Your_Fortune.rexx'
  138.                      rexxDoors/Data/Grins   = data for 'Grin_du_Jour.rexx'
  139.  
  140. Dir 89    = 'BBS_TEXT'     = Text (mostly) files used by the BBS.
  141.                                HELLO    = Sign on message. (19 lines max!)
  142.                                NEW      = New user welcome message.
  143.                                YELL.snd = (optional) Yell-For-Sysop sound.
  144.                                YELL     = (optional) Yell voice script.
  145.                                WELCOME  = default welcome message
  146.                                WELCOME.Mon, WELCOME.Tue, ..., WELCOME.Sun
  147.                                         = Daily Welcome messages.
  148.                                WELCOME.1225 = Christmas welcome msg.
  149.                                GOODBYE  = Logoff message. (local BBS numbers)
  150.                                DEF.NEW_USER = new user defaults
  151.                                DEF.MEMBER   = member defaults
  152.                                DEF.COURTESY = courtesy list defaults
  153.  
  154. Dir 90    = 'FileNotes'    = A dir of dirs. Each dir corresponding to a
  155.                                file library. Within each, a file desciption
  156.                                of the corresponding file in the library.
  157.                                Written by BBBBS.baud, but editable.
  158.  
  159. Dir 91    = 'BBS_LIBS'     = Up to 99 file libraries. You select the names of
  160.                                these by editing the file 'BBS:Lists/Libraries'.
  161.                                The BBS sees them by name.
  162.                                 
  163. Dir 92    = 'BBS_MSGS'     = Up to 99 message conferences. You select the
  164.                                names of these by editing the file
  165.                                'BBS:Lists/Conferences', but the BBS sees
  166.                                them as MSG1 thru MSG99.
  167.  
  168. Dir 93    = 'Lists'        = System lists and lists needed by bbsREXX.
  169.                                Libraries    = see example for proper format
  170.                                Conferences  = see example for proper format
  171.                                FileList     = THIS FILE IS WRITTEN BY
  172.                                                 BBBBS.baud. Under normal
  173.                                                 circumstances it should NOT
  174.                                                 be edited by humans. format:
  175.                                                 'filenum dirname filename'
  176.                                Courtesy     = List of VIP usernames. A new
  177.                                 user on this list is given immediate access.
  178.                                 That name is then removed from this list.
  179.                                Excuses      = list of randomly selected
  180.                                                 reasons why the sysop
  181.                                                 cannot CHAT right now.
  182.  
  183. *** Following dirs contain files written by BBBBS.baud. DO NOT EDIT! ***
  184.  
  185. Dir 94    = 'Numbers'      = LastFile, LastMail, LastMessage1, etc.
  186.  
  187. Dir 95    = 'Usage'        = Monthly files. Counts hours of modem usage.
  188.  
  189. Dir 96    = 'Logs'         = Daily files. Tracks user, time, mail or message
  190.                               activity, uloads/dloads, internal errors, etc.
  191.                               Built in 'log-reader' for sysops.
  192.  
  193. Dir 97    = 'EMailFiles'   = Private files left attached to EMail.
  194.  
  195. Dir 98    = 'EMail'        = Private mail between users.
  196.  
  197. Dir 99    = 'Users'        = User files.
  198.  
  199.  
  200.  
  201. ***************************  Setting Up  *****************************
  202.  
  203. Follow these steps to set up your own BBS..
  204.  
  205. 1. Do Initial Setup  (assumes that bbspath is "BBS:")
  206.  
  207.       a. CD to BBS:            ; the directory to de-lharc the bbs into
  208.  
  209.       b. Lharc -x x BBBBS      ; extract respecting original paths
  210.  
  211.       c. COPY BBS:rexx/QuickSort C:    ; ARexx QuickSort
  212.  
  213.       d. COPY BBS:S/#? S:      ; CONFIG.BBS, Bandit.Keys, Bandit.Config
  214.  
  215.       e. COPY BBS:rexx/#? REXX:  ; NOTE: 250K of rexx programs!
  216.  
  217. 2. Make sure that "C:DATE" returns the correct time and date. The BBS
  218. needs to know the correct time and date for many of its routines.
  219.  
  220. 3. Use a Text editor to edit the following lists. These lists can be
  221. changed or edited anytime. The libraries may be re-ordered at any time,
  222. but the message conferences can only be added to, not re-shuffled. That
  223. is, once you associate a message conference title with its number, and
  224. messages are actually written to that conference, you MUST keep that same
  225. number associated with that conference title. (This is because messages
  226. are kept in MSG1, MSG2, etc. while files are kept in directories created
  227. with the title that YOU give it. BTW, no spaces are allowed in titles).
  228. You may change the CONFERENCE title, but the old messages in that
  229. conference will still refer to the old title. It is possible to change
  230. a LIBRARY title, but you also have to rename the directory, and update
  231. all references to the old dir (which can be quite a few!), so I advise
  232. against it.  Use care in all title selections and save yourself future
  233. problems with re-naming.
  234.  
  235.      a. BBS:Lists/Conferences    (message conference names)
  236.      
  237.      b. BBS:Lists/Libraries    (file library names)
  238.      
  239.      c. BBS:Lists/Courtesy   (these names receive INSTANT validation)
  240.      
  241.      d. BBS:Lists/Excuses  (good reasons why the sysop can't chat right now)
  242.  
  243. 4. Use a Text editor to edit "S:CONFIG.BBS" to your preferences.
  244. IMPORTANT! Test your "c:info" from the CLI with your "info-compatible"
  245. device name to make sure that the blocks free amount is being returned.
  246.  
  247. If you want the default sysop name to be something other than "SYSOP":
  248.   a. The name should be in all caps with the "_" character substituted for
  249.        spaces. (ie, RICHARD_LEE_STOCKTON).
  250.   b. Then, put "SYSOP" in the exclusion list to "forward" all requests
  251.        for "SYSOP" to your sysop name.
  252.   c. Finally, REName BBS:Users/SYSOP BBS:Users/<your sysop name>
  253.  
  254. 5. Use the Text editor on the following textfiles to be read by the user.
  255.  
  256.     a. BBS:BBS_TEXT/HELLO     /* this is the title message */
  257.  
  258.     b. BBS:BBS_TEXT/NEW       /* message to new users */
  259.  
  260.     c. BBS:BBS_TEXT/WELCOME   /* once-a-day welcome to users */
  261.  
  262.     d. BBS:BBS_TEXT/GOODBYE   /* last thing the user sees */
  263.     
  264.     e. BBS:Information/SYSTEM_INFO   /* what Amiga model, OS, etc */
  265.  
  266. 6. You may also wish to edit the default user files in the BBS_TEXT drawer,
  267.     but I suggest leaving them alone until you gain a better understanding
  268.     of the BBS system.
  269.  
  270.     a. DEF.NEW_USER   /* all lines are used */
  271.  
  272.     b. DEF.COURTESY   /* all lines are used */
  273.  
  274.     c. DEF.MEMBER     /* ONLY time, level, and exclude_dirs are used */
  275.  
  276. 7. Start the LOCAL BBS by typing  "rx bbsSYSOP SETUP". (password=password).
  277. This will make the directories you specified in BBS:Lists/Libraries, (if
  278. they don't already exist).. likewise, the message conferences will be
  279. constructed, if needed. You will then enter the bbs _AS IF_ it were running
  280. from the modem although Baud Bandit is not needed at all.
  281.  
  282. 8. Select "Y" to edit your personal data. CHANGE YOUR PASSWORD!!
  283.  
  284. 9. Read the HELP file in [I]nformation for general command information,
  285. and take a look around the board. Try out some things a user would try.
  286.  
  287. 10. Use "G" to logoff which re-writes your user file.
  288.  
  289. 11. Start BaudBandit. Check BB's Macro display. The important thing
  290.  here is to make sure that "\mAnswer.baud" is in "RING" portion of BB's
  291.  configuration.
  292. Handshake should be set to "NONE" (otherwise CTRL-S can hang the BBS).
  293. AutoBaud should be set to "ON" and the baud rate to the same value
  294.  you have set in BBS:BBS/CONFIG as the Maximum baudrate.
  295. If you make any changes remember to save them.
  296.  
  297. 12. If you have RAM to spare, give yourself a large capture buffer in
  298. BaudBandit, especially if you will be debugging. You can use BB's
  299. review buffer to study what the user did, in what order, and what
  300. happened. I have mine set to about 100k..
  301.  
  302. 13. To set up the BBS to start automatically in the background, add
  303. these lines to your startup-sequence:
  304. (assumes that BaudBandit is in the BBS: drawer)
  305.  
  306.     rx setup
  307.     WaitForPort('QuickSortPort')
  308.     BBS:BB
  309.     WaitForPort BAUD
  310.     ;rx Baud OFF  ; uncomment this line to close BB's screen after startup
  311.  
  312. 14. Wait for callers ... and soon become beloved sysop to billions of users...
  313.  
  314.  
  315.  
  316. *********************  User data file  ***************************
  317.  
  318.  1. name:
  319.  2. street:
  320.  3. city, st zip:
  321.  4. phone:
  322.  5. password:  (only visible by user and super-sysop)
  323.  6. protocol:
  324.  7. lines per page:
  325.  8. preferences:   may include MENU or MENUS, COLOR, STREET, PHONE
  326.  9. Computer:
  327. 10. Interests:
  328. 11.     Time: <nn> minutes <nn> more times today
  329. 12. first date on: datestamp  timestamp
  330. 13.  last date on: datestamp  timestamp
  331. 14.   upload: <nn> files <nn> bytes  day month year
  332. 15. download: <nn> files <nn> bytes  day month year
  333. 16. lastfile: lastfile  datestamp  timestamp
  334. 17. rtio/eml: download/upload_ratio  total_email_written
  335. 18. winnings: <nn>
  336. 19.  time on: <nn> days <nn> hours <nn> minutes in <nn> calls.
  337. 20.    level: <nn>
  338. 21. exclude directories list:     (only viewable/editable by sysops)
  339. 22. msg_read: MSG1 MSG2 MSG3 ... MSG<last>
  340. 23. msg_writ: MSG1 etc.
  341.  
  342. Default data for New Users is stored in BBS_TEXT/DEF.NEW_USER
  343. Default data for Courtesy List Users is stored in BBS_TEXT/DEF.COURTESY
  344. Only lines 6-21 of these files are used, the rest are ignored.
  345.  
  346. Default data for Members is stored in BBS_TEXT/DEF.MEMBER
  347. Only lines 11, 20 and 21 of this file is used, the rest are ignored.
  348.  
  349.  
  350. **********************  bbsSYSOP.rexx  ***************************
  351.  
  352. This is a multi-tasking (within limits, see below) rexx program that
  353. you as the sysop may run from a Shell or CLI. In most ways it is just
  354. like the regular BBS program, so you see what your users see. However,
  355. it is not connected to BaudBandit in any way, and in fact, does not
  356. use the serial port (or your modem) at all. Upload and download functions
  357. are transmuted into copy (with the arp requester), and some functions
  358. are left out (like the check for DCD, etc.).  It DOES look at the same
  359. data that BBBBS.baud looks at, and reasonable care must be taken not
  360. to add files to the file libraries while a user is also adding a file
  361. to the libraries. Likewise, don't write EMail while the user is writing
  362. email, and don't write messages while the user is writing messages IN
  363. THE SAME CONFERENCE (messages CAN be written in different conference at
  364. the same time, one by user, one by sysop).
  365.  
  366.          CLI> rx bbsSYSOP SETUP
  367.  
  368. Whenever you have made changes to the CONFIG.BBS file, it's a good idea
  369. to run bbsSYSOP with the SETUP option. This will check your list of dirs
  370. for libraries and conferences, and MakeDir any that don't yet exist.
  371.  
  372.  
  373.  
  374. *************************  Macros  *******************************
  375.  
  376. Note that if called from BB with a user online, these macros will not
  377. take effect if the user is waiting at a menu. You can press return
  378. yourself to force the macro if it looks like the user is sleeping
  379.  
  380. F1 - ForceChat.baud - Forces user into chat at next prompt.
  381.  
  382. F2 - Twit.baud - TWIT-KEY, forces logoff of current user at next prompt.
  383.  
  384. F3 - BumpTime.baud - Opens a requester allowing you to set this users
  385.        maximum time in minutes for this session. It will take effect at
  386.        the next prompt. This is a temporary change, this session only.
  387.  
  388. F4 - BumpMember.baud - Member valuse are taken from "BBS_TEXT?DEF.MEMBER".
  389.        Takes effect at the next prompt. This change is saved to the users
  390.        data file. It is permanent.
  391.  
  392. F5 - BumpLevel.baud - Opens a requester allowing you to set the level and/or
  393.        upload to download ration for this user. It will take effect at the
  394.        next prompt. This change is permanently saved to the users data file.
  395.  
  396. F6 - Close Function Key Help Window
  397.  
  398. F7 - ShowLog.baud - Displays today's log on BB's screen, BBS running or not.
  399.  
  400. F8 - bbsUsage.baud -
  401.        Monthly usage. Used internally by BBBBS.baud, but can also be called
  402.          from BB or from a CLI. Argument is in form MonthYear (ie, Nov1990).
  403.          No argument calls current month.
  404.  
  405. F9 - Baud.rexx OFF - Turns BaudBandit's screen off (improves speed). While
  406.        the screen is off THE CAPTURE BUFFER STAYS OPEN! This means you can
  407.        leave the screen off for fastest response, then, when the modem tells
  408.        you the user has logged off, turn the screen on again (from CLI "rx
  409.        Baud") and read the review buffer (SHIFT-HELP).
  410.  
  411. F10 - Opens a Function Key Help Screen on BaudBandits screen.  F6 to close.
  412.  
  413.  
  414. *****************************  rexxDoors  ****************************
  415.  
  416. rexxDoors:
  417.  
  418. Almost ANY rexx program that uses NO GRAPHICS OTHER THAN CHARACTERS can
  419. be easily made into a rexxDoors program. Just add these lines at the top:
  420.  
  421.     CR="0D"x
  422.     SIGNAL ON BREAK_C
  423.     SIGNAL ON BREAK_E
  424.  
  425. and these lines at the bottom, just before the main RETURN or EXIT:
  426.  
  427.     BREAK_C:
  428.     BREAK_E:
  429.  /* <-- might put "SetClip('BBS_winnings',winnings)" routine here */
  430.     EXIT;
  431.  
  432. and lastly, search the text for all instances of "SAY" and add "||CR" to
  433. the END of each SAY command.
  434.   SAY 'Here we go.' becomes SAY 'Here we go.'CR or SAY 'Here we go.'||CR
  435.  
  436. Any "PULL" commands in the rexx script will take input from the user,
  437. and any "SAY" commands will be sent out the modem.
  438.  
  439. All rexxDoors programs are sent the user name and his "winnings" as the
  440. command argument. ie,
  441.               doorprogram.rexx(name  winnings  cash_or_seconds)
  442. If cash_or_seconds=0, then we are playing for play-money cash (which is
  443. remembered from session to session). If cash_or_seconds>0 then the user
  444. is playing for the seconds remaining in this session. There is no
  445. requirement that the rexxDoors program use ANY of these arguments. If
  446. the rexxDoors program should return a "winnings" amount, it should do a
  447. "SetClip('BBS_winnings',winnings)" before it returns.
  448.  
  449.  
  450.  
  451. *******************************   Misc   *****************************
  452.  
  453. Download/Upload Ratio:  User data line 17, Word 1    -  0=DISABLED
  454.  
  455.    Example: 5 means user will be refused downloading if
  456.        DownloadBytes divided by UploadBytes exceeds 5.0,
  457.        and bbs_preferences has Down/Upload Ratios set to ON (1).
  458.  
  459.  
  460. ***********************  end of BBBBS.doc  ****************************
  461.